--- a/src/s3v_driver.c
+++ b/src/s3v_driver.c
@@ -1212,8 +1212,6 @@
     /* todo -  The virge limit is 2048 vertical & horizontal */
     /* pixels, not clock register settings. */
 			 	/* true for all ViRGE? */
-  pScrn->maxHValue = 2048;
-  pScrn->maxVValue = 2048;
 
     				/* Lower depths default to config file */
   pScrn->virtualX = pScrn->display->virtualX;
@@ -2566,6 +2564,12 @@
     if ((pScrn->bitsPerPixel + 7)/8 * mode->HDisplay > 4095)
 	return MODE_VIRTUAL_X;
 
+    if (mode->HTotal > 2048)
+        return MODE_BAD_HVALUE;
+
+    if (mode->VTotal > 2048)
+        return MODE_BAD_VVALUE;
+        
     return MODE_OK;
 }
 
